草庐IT

从命令行中执行BASH脚本,该脚本需要一个带有空格的参数

我正在尝试从命令行执行BASH脚本。有时,它需要一个包含空格的参数。bashtest.sh-l"path/to/image/maycontainspaces.png"提供此功能的正确方法是什么?我尝试逃脱\但无济于事。我收到以下错误;bashsplash.sh-b\#\000000-l\"img/RevLogo.jpg\"convert:unabletoopenimage''"img/Rev'':Nosuchfileordirectory@error/blob.c/OpenBlob/3093.与这一点代码有关;logo="$1"ifcheckBackground-eq1thenconvert-

bash - 在 bash 脚本中使用 expr 时 hadoop 流式传输出错

我正在使用Hadoop流处理工作。我的映射器是用bash编写的。它使用job_id。mapred_job_id=`echo"$mapred_job_id"|awk-F"_"'{print$NF}'`它工作正常(为调试目的启动一个愚蠢的wordcound映射器操作)直到我有以下行导致作业崩溃:mapred_job_id=`expr$mapred_job_id\*2`错误是:INFOmapreduce.Job:TaskId:attempt_1432766867252_0019_m_000007_0,Status:FAILEDError:java.lang.RuntimeException:

bash - Pig 0.12.0 不会使用反引号执行时区更改的 shell 命令

我在亚马逊EMR上将Hue用于PIG脚本。我想进行shell调用以将特定时区中的日期获取到一个变量中,我将使用该变量来定义用于将输出写入的输出文件夹路径。最终我想使用ifelsefi循环从一周中获取特定日期,因此时区将在命令的不同位置提及。示例脚本ts=LOAD's3://testbucket1/input/testdata-00000.gz'USINGPigStorage('\t');STOREtsINTO's3://testbucket1/$OUTPUT_FOLDER'USINGPigStorage('\t');Hue中Pig参数定义:这有效:OUTPUTFOLDER=`/bin/

linux - bash:bin/hadoop:没有这样的文件或目录(ubuntu 16.04 上的 hadoop 2.7.3)

我尝试在ubuntu16.04桌面上安装hadoop2.7.3。我安装了java并检查了它的版本:hadoop@ubuntu:~$java-versionopenjdkversion"1.8.0_91"OpenJDKRuntimeEnvironment(build1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14)OpenJDKServerVM(build25.91-b14,mixedmode)我在bashrc中将JAVA_HOME设置为:#HADOOPVARIABLESSTARTexportJAVA_HOME=/usr/lib/jvm/java-1.8.0-

bash - 脚本输出覆盖旧数据而不是写入新行的输出文件

我有一个脚本来检查名称节点状态。当我手动运行时,namenode的状态写入文件,当我再次运行时,第二次尝试输出在旧文件中添加了一个新行。但是我在cron中安排了每15分钟运行一次。但是cron作业会覆盖旧数据,我只能看到上次运行状态。我怎样才能通过cron添加新行?#!/bin/bashNOW=$(date+"%m-%d-%Y")fname=active.$NOW.log[!-f$fname]&&>/opt/hd/sh/bin/$fnameif[[$(hdfshaadmin-nsATcluster-getServiceStatenn1)=*active*]];thenecho"`dat

shell - 在 hadoop 集群中运行 bash 脚本的 Hadoop 命令

我有一个shell脚本(count.sh),它计算文件中的行数。此脚本已复制到hdfs中,目前正在使用Oozie工作流来执行此脚本。不过,我想知道是否有办法从命令行执行此shell脚本。例如:在unix中:[myuser@myserver~]$./count.sh当count.sh位于hadoop集群位置'/user/cloudera/myscripts/count.sh'时等效于此。我读了这个Hadoopcommandtorunbashscriptinhadoopcluster,但还是不清楚。 最佳答案 我知道这是一篇旧帖子,但我

bash - 来自 Java 进程的 shell 函数错误 "exporting"

我有一个看起来像这样的脚本:#!/bin/bashfunctionfunc1(){echo"HELLO!"}export-ffunc1functionfunc2(){echo"HI!!"func1}export-ffunc2我在本地启动了一个hadooptasktracker,我的/usr/lib/hadoop/conf/hadoop-env.sh看起来像这样:#..fewconfigurationparams#sourcemy_shell_file.sh#my_function当我启动tasktracker时,一切都很好。它打印出我在my_function中的几个echo语句。当我使

hadoop - Hadoop 中需要 "runuser hdfs -s/bin/bash/bin/bash"

我是hadoop的新手,正在关注这个link在Fedora20中安装它。这篇文章中有一个命令:runuserhdfs-s/bin/bash/bin/bash-c"hadoopfs-mkdir/user/"在这部分命令中,我们在HDFS中创建一个目录:"hadoopfs-mkdir/user/"但是我无法理解上面命令的这一部分的用途/含义是什么:runuserhdfs-s/bin/bash/bin/bash请告诉我这个命令的确切用途/含义是什么:runuserhdfs-s/bin/bash/bin/bash 最佳答案 这有点令人困惑,

bash - 清理 csv 的 Sed 命令不起作用

我有一个CSV文件,我想:Replaceall&instanceswith&Removethefirst(header)lineChangeallsemicolonsto$$$Changeall"$$$"instancesinto";"Removeall"characters执行此操作的sed命令如下所示:sed's/\&/\&/g'BX-Book-Ratings:|sed-e'1d'|sed's/;/$$$/g'|sed's/"$$$"/";"/g'|sed's/"//g'>corrected_rating但是当我把它放在ClouderaVM的终端时它不起作用....

python - 使用 Bash 的 Hadoop 流式传输——有多慢?

我从几篇文章中听说,使用bash的Hadoop流式处理比编译代码或python慢得多。这仅适用于排序命令等吗?我的脚本需要-复制文件到节点-onnode以文件作为参数执行商业程序-将输出传回文件夹我的直觉告诉我,这应该与编译版本的速度相似。会是吗? 最佳答案 HadoopStreaming被认为速度慢的主要思想是,对于mapper和reducer,你必须通过标准输入传递参数,这意味着你必须将它们序列化为文本,并获得mapper和reducer的输出您必须将它们从文本反序列化回Java结构,这通常会消耗很多时间。如果您有第三方编译的应